/**
 * easyui的combobox封装:级联查询和级联删除
 * 约定：1.使用<input>，在里面加使用easyui-combobox类；2.引入的js要放在<body>标签里；3.所需要级联的子选项要加上data-option=[父选项ID]。
 * 例：/fpopulation/src/main/webapp/lsj/building/building-search.jsp
 * 
 */
$(function(){
	    var ctx=localStorage.getItem("globalCtx");
		var ids = $(".easyui-combobox").not("input[data-parent]");
		if(ids.length>0){
			$.each(ids, function(k, v) {
				findDic($(v).attr("id"));
			});
		}else{
			console.log("子编号长度为0!");
			return;
		}
	
		/**
		绑定easyui的combobox事件
		*/
		$(".easyui-combobox").combobox({
			onSelect : function(param) {
				var id = param.typeCode.toLowerCase();
				tnCasecade(id, param);
			}
		});
	
	/* *
	查找字典 :接收类型编码和子编号
	*/
	function findDic(typeCode, itemCode) {
		$.ajax({
			url : ctx+"/BscDicCode/findDic?typeCode=" + typeCode + "&itemCode="
					+ itemCode,
			dataType : "json",
			success : function(data) {
				$("input [data-parent = '" + typeCode + "']").combobox(
						"clear");
				if (data.ack_code == "SUCCESS") {
					$("#" + typeCode).combobox({
						data : data.data,
						valueField : 'itemCode',
						textField : 'itemName'
					});
				}
			},
			error : function() {
				alert("系统繁忙")
			}
		});
	}
	
	//根据父级id查询子级的元素级联查询
	function tnCasecade(id, param) {
		tnClear(id, param);
		$.each($("input[data-parent='" + id + "']"), function(k, v) {
			findDic($(v).attr("id"), param.itemCode);
		})
	}
	
	//级联删除父级下的所有子元素的值
	function tnClear(id, param) {
		$.each($("input[data-parent= '" + id + "']"),function(k, v) {
							$("#" + $(v).attr("id")).combobox("loadData",{});   //赋值空对象清除子级下拉列表数据
							$("#" + $(v).attr("id")).combobox("clear");  //清除子级元素
							if ($("input[data-parent= '" + $(v).attr("id")+ "']").length > 0) {    //判断是否还有子元素,有则递归
								tnClear($(v).attr("id"), param);
							}
			})
	}
	
})